The present invention relates to electronic design automation for electronic circuits, and in particular, to techniques for specifying patterns to search for in an integrated circuit layout and proposing replacement patterns.
Integrated circuits are important building blocks of the information age and are critical to the information age, affecting every industry including financial, banking, legal, military, high technology, transportation, telephony, oil, medical, drug, food, agriculture, education, and many others. Integrated circuits such as DSPs, amplifiers, DRAMs, SRAMs, EPROMs, EEPROMs, Flash memories, microprocessors, ASICs, and programmable logic are used in many applications such as computers, networking, telecommunications, and consumer electronics.
Consumers continue to demand greater performance in their electronic products. For example, higher speed computers will provide higher speed graphics for multimedia applications or development. Higher speed Internet web servers will lead to greater on-line commerce including on-line stock trading, book sales, auctions, and grocery shopping, just to name a few examples. Higher performance integrated circuits will improve the performance of the products in which they are incorporated.
Large modern-day integrated circuits have millions of devices including gates and transistors and are very complex. As process technology improves, more and more devices may be fabricated on a single integrated circuit, so integrated circuits will continue to become even more complex with time. To meet the challenges of building more complex and higher performance integrated circuits, software tools are used. These tools are in an area commonly referred to as computer aided design (CAD), computer aided engineering (CAE), or electronic design automation (EDA). There is a constant need to improve these electronic automatic tools in order to address the desire to for higher integration and better performance in integrated circuits.
An integrated circuit may be specified using a netlist and a layout. The netlist provides information about devices or components of the integrated circuit and their connectivity. The integrated circuit layout or integrated circuit mask layout is the representation of an integrated circuit in terms of planar geometric shapes, patterns, and features that correspond to shapes used in a masks to fabricate the circuit. A design engineer or mask designer may create the layout the integrated circuit. Some features in the layout or certain masks may be automatically generated.
In a typical layout, there are a very large number of shapes, patterns, and features. It is sometimes desirable to search for and find specific shapes, patterns, or features. For example, certain layout shapes, patterns, or features may cause electrical or design rule violations. It may be desirable that certain layout features have a more efficient or different layout. Hence, there are numerous reasons to be able to specify and find patterns in a layout and replace these patterns with other more preferable patterns. It is also desirable that a user can easily define or specify the pattern or patterns to search for, and their proposed replacement patterns.
Therefore, there is a need for improved techniques for pattern matching and pattern replacement in a layout.